Computing centers that employ one or more printers to serve a group of users, such as a networked group or other work group, typically rely on the printers to batch process print jobs (e.g., print-out a series of different print jobs in succession). Often a user of the group needs to print a job at a group printer that includes confidential or sensitive documents. However, in such instances it may be inappropriate to immediately print such a job and have the job placed in a printer output bin where other users may have access. Accordingly, many group printers provide a secure print option.
Secure print enables a user to designate a document as secure prior to printing. In response, the print job instructs the printer to hold the job at the printer with a security number (PIN), rather than immediately printing. The user is then required to physically go to the printer panel and input the PIN number in order to print the document.
Another feature of secure print jobs is that no part of a secure job is stored on persistent storage (e.g., hard disk). However, this feature eliminates many types of print job data streams jobs that can be sent to a printer in Secure Print mode. For example, Portable Document Format (PDF) jobs typically must be spooled prior to being processed for printing. Moreover, PDF files include indexing information for each page to allow for segmentation.
Postscript print jobs, however, can be streamed with all segmentable pages (page boundaries) being determined without the need for the job to be spooled. Postscript is a dynamically typed concatenative programming language that includes a postscript interpreter that is used to rasterize the job during print processing. Thus, Postscript is often implemented for secure print jobs.
Print preview is also a feature implemented at printers, which allows a user to view all or part of a job in a reduced size and reduced resolution view (e.g., “thumbnails”). The preview of a job can typically be viewed in any order (e.g., pages 1, 100, 3, 50, etc), where the first page of a job is shown to a user without user intervention. Additional pages are requested on the printer console.
However, previewing secure print jobs poses a problem in that rasterized pages have to be written to disk for pages that have been viewed and requested again later (e.g., requests: page1, page 4, page 1) and for pages requested before the current page being viewed (e.g., page 1 when the current page being viewed is 5).
Accordingly, a mechanism to preview secure print jobs without writing rasterized images is desired.